package com.centaline.androidsalesblog.application;

import android.content.Context;

import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;

/**
 * location.getLocType() error code返回值： 61 ： GPS定位结果 62 ： 扫描整合定位依据失败。此时定位结果无效。
 * 63 ： 网络异常，没有成功向服务器发起请求。此时定位结果无效。 65 ： 定位缓存的结果。 66 ：
 * 离线定位结果。通过requestOfflineLocaiton调用时对应的返回结果 67 ：
 * 离线定位失败。通过requestOfflineLocaiton调用时对应的返回结果 68 ： 网络连接失败时，查找本地离线定位时对应的返回结果 161：
 * 表示网络定位结果 162~167： 服务端定位失败 502：key参数错误 505：key不存在或者非法 601：key服务被开发者自己禁用
 * 602：key mcode不匹配 501～700：key验证失败
 * 如果不能定位，请记住这个返回值，并到我们的hi群或者贴吧中交流。若返回值是162~167，请发送邮件至mapapi@baidu.com反馈。
 */
public final class MyLocation {

    public static LocationClient mLocationClient = null;

    private MyLocation() {
        //Utility Class
    }

    public static void init(Context context) {
        if (mLocationClient == null)
            mLocationClient = new LocationClient(context);
        LocationClientOption option = new LocationClientOption();
        option.disableCache(true);
        option.setCoorType("bd09ll");// 坐标类型
        option.setIsNeedAddress(true);// 是否需要地址信息
        option.setOpenGps(true);// 打开GPS
        option.setScanSpan(5000);// 定位间隔
        option.setTimeOut(3000);// 超时
        option.setLocationMode(LocationMode.Hight_Accuracy);// 高精度模式
        option.setIgnoreKillProcess(false);
        mLocationClient.setLocOption(option);
    }

    public static LocationClient getLocationClient() {
        return mLocationClient;
    }
}
